// Package docs Code generated by swaggo/swag. DO NOT EDIT
package docs

import "github.com/swaggo/swag"

const docTemplate = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "termsOfService": "http://swagger.io/terms/",
        "contact": {
            "name": "API Support",
            "url": "http://www.swagger.io/support",
            "email": "support@swagger.io"
        },
        "license": {
            "name": "Apache 2.0",
            "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
        },
        "version": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/accounts/search": {
            "get": {
                "description": "Поиск учетных записей пользователей по полям. При указании нескольких полей, поиск идет по всем полям одновременно (т.е применяется операция AND)",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "accounts"
                ],
                "summary": "Поиск учетных записей пользователей по полям",
                "parameters": [
                    {
                        "type": "string",
                        "description": "firstName",
                        "name": "firstName",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "lastName",
                        "name": "lastName",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "email",
                        "name": "email",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/ent.User"
                            }
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/accounts/{accountId}": {
            "get": {
                "description": "Получение учетной записи пользователя по id",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "accounts"
                ],
                "summary": "Получение учетной записи пользователя по id",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "accountId",
                        "name": "accountId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ent.User"
                        }
                    },
                    "400": {
                        "description": "Некорректные данные",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Пользователь не найден",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "description": "Обновление учетной записи пользователя по id",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "accounts"
                ],
                "summary": "Обновление учетной записи пользователя по id",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "accountId",
                        "name": "accountId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Данные для обновления учетной записи. Обновляются только переданные поля",
                        "name": "data",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/auth.UpdateAccountRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ent.User"
                        }
                    },
                    "400": {
                        "description": "Некорректные данные",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Обновление не своего аккаунта или аккаунт не найден",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "409": {
                        "description": "Аккаунт с таким email уже существует",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "description": "Удаление учетной записи пользователя по id",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "accounts"
                ],
                "summary": "Удаление учетной записи пользователя по id",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "accountId",
                        "name": "accountId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/httputils.EmptyResponse"
                        }
                    },
                    "400": {
                        "description": "Некорректные данные",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Удаление не своего аккаунта или аккаунт не найден",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/login": {
            "post": {
                "description": "Вход в систему. При успешном входе, id пользователя возвращается в Cookie \"id\"",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "accounts"
                ],
                "summary": "Вход в систему",
                "parameters": [
                    {
                        "description": "Данные учетной записи для входа",
                        "name": "data",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/auth.LoginRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/auth.LoginResponse"
                        }
                    },
                    "401": {
                        "description": "Логин или пароль не верны",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/region": {
            "post": {
                "description": "Добавление региона",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "regions"
                ],
                "summary": "Добавление региона",
                "parameters": [
                    {
                        "description": "region",
                        "name": "data",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/repository.AddRegionRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/repository.Region"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "409": {
                        "description": "Регион с такими latitude и longitude уже существует",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/region/types": {
            "post": {
                "description": "Добавление типа региона",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "regions"
                ],
                "summary": "Добавление типа региона",
                "parameters": [
                    {
                        "description": "regionType",
                        "name": "data",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/repository.AddRegionTypeRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/repository.RegionType"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "409": {
                        "description": "Такой тип региона уже существует",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/region/types/{typeId}": {
            "get": {
                "description": "Получение типа региона по id",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "regions"
                ],
                "summary": "Получение типа региона по id",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "typeId",
                        "name": "typeId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/repository.RegionType"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Тип региона не найден",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "description": "Обновление типа региона",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "regions"
                ],
                "summary": "Обновление типа региона",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "typeId",
                        "name": "typeId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "regionType",
                        "name": "data",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/repository.UpdateRegionTypeRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/repository.RegionType"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Тип региона не найден",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "409": {
                        "description": "Такой тип региона уже существует",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "description": "Удаление типа региона по id",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "regions"
                ],
                "summary": "Удаление типа региона по id",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "typeId",
                        "name": "typeId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/httputils.EmptyResponse"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Регион не найден",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/region/weather": {
            "post": {
                "description": "Добавление погоды",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "weather"
                ],
                "summary": "Добавление погоды",
                "parameters": [
                    {
                        "description": "Описание данных погоды в регионе",
                        "name": "data",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/repository.AddWeatherRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/repository.Weather"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Регион с regionId не найден или forecastId в данном регионе не найдена",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/region/weather/forecast": {
            "post": {
                "description": "Добавление прогноза погоды",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "weather"
                ],
                "summary": "Добавление прогноза погоды",
                "parameters": [
                    {
                        "description": "Описание данных прогноза погоды",
                        "name": "data",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/repository.ForecastAddRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/repository.Forecast"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Прогноза с таким forecastId не существует ",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/region/weather/forecast/{forecastId}": {
            "get": {
                "description": "Получение прогноза погоды",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "weather"
                ],
                "summary": "Получение прогноза погоды",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "forecastId",
                        "name": "forecastId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/repository.Weather"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Прогноза с таким forecastId не существует ",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "description": "Обновление прогноза погоды",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "weather"
                ],
                "summary": "Обновление прогноза погоды",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "forecastId",
                        "name": "forecastId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Описание данных обновления прогноза погоды",
                        "name": "data",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/repository.ForecastUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/repository.Forecast"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Прогноза с таким forecastId не существует ",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "description": "Удаление прогноза погоды",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "weather"
                ],
                "summary": "Удаление прогноза погоды",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "forecastId",
                        "name": "forecastId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/httputils.EmptyResponse"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Прогноза с таким forecastId не существует ",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/region/weather/search": {
            "get": {
                "description": "Поиск погоды для регионов по полям",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "weather"
                ],
                "summary": "Поиск погоды для регионов по полям",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "regionId",
                        "name": "regionId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Дата и время начала периода для поиска погодных условий, в формате ISO-8601",
                        "name": "startDateTime",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Дата и время конца периода для поиска погодных условий, в формате ISO-8601",
                        "name": "endDateTime",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Погодные условия: CLEAR, CLOUDY, RAIN, SNOW, FOG, STORM",
                        "name": "weatherCondition",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Количество элементов, которое необходимо пропустить для формирования страницы с результатами (по умолчанию 0)",
                        "name": "from",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Количество элементов на странице (по умолчанию 10)",
                        "name": "size",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/repository.WeatherSearchResult"
                            }
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Регион с regionId не найден или forecastId в данном регионе не найдена",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/region/weather/{regionId}": {
            "get": {
                "description": "Получение погоды по региону",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "weather"
                ],
                "summary": "Получение погоды по региону",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "regionId",
                        "name": "regionId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/repository.Weather"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Тип региона не найден",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "description": "Обновление погоды для региона",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "weather"
                ],
                "summary": "Обновление погоды для региона",
                "parameters": [
                    {
                        "description": "Описание обновления данных погоды в регионе",
                        "name": "data",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/repository.UpdateWeatherRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/repository.Weather"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Регион с regionId не найден или forecastId в данном регионе не найдена",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "description": "Удаление погоды",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "weather"
                ],
                "summary": "Удаление погоды",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "regionId",
                        "name": "regionId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/httputils.EmptyResponse"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Регион с regionId не найден или forecastId в данном регионе не найдена",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/region/{regionId}": {
            "get": {
                "description": "Получение региона по id",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "regions"
                ],
                "summary": "Получение региона по id",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "regionId",
                        "name": "regionId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/repository.Region"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Регион не найден",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "put": {
                "description": "Обновление региона",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "regions"
                ],
                "summary": "Обновление региона",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "regionId",
                        "name": "regionId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "region",
                        "name": "data",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/repository.UpdateRegionRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/repository.Region"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Регион не найден",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "409": {
                        "description": "Регион с такими latitude и longitude уже существует",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "description": "Удаление региона по id",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "regions"
                ],
                "summary": "Удаление региона по id",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "regionId",
                        "name": "regionId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/httputils.EmptyResponse"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Регион не найден",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/region/{regionId}/weather/{weatherId}": {
            "post": {
                "description": "Добавление погоды для конкретного региона",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "weather"
                ],
                "summary": "Добавление погоды для конкретного региона",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "regionId",
                        "name": "regionId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "weatherId",
                        "name": "weatherId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/repository.Weather"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Регион с regionId не найден или forecastId в данном регионе не найдена",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "description": "Удаление погоды для конкретного региона",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "weather"
                ],
                "summary": "Удаление погоды для конкретного региона",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "regionId",
                        "name": "regionId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "weatherId",
                        "name": "weatherId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/repository.Region"
                        }
                    },
                    "400": {
                        "description": "Некорректный запрос",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "401": {
                        "description": "Пользователь не авторизирован",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "404": {
                        "description": "Регион с regionId не найден или forecastId в данном регионе не найдена",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/registration": {
            "post": {
                "description": "Регистрация учетной записи",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "accounts"
                ],
                "summary": "Регистрация учетной записи",
                "parameters": [
                    {
                        "description": "Данные учетной записи для регистрации",
                        "name": "data",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/auth.RegisterAccountRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/ent.User"
                        }
                    },
                    "400": {
                        "description": "Некорректные данные",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "403": {
                        "description": "Запрос от авторизованного аккаунта",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "409": {
                        "description": "Аккаунт с таким email уже существует",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "auth.LoginRequest": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                }
            }
        },
        "auth.LoginResponse": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                }
            }
        },
        "auth.RegisterAccountRequest": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "firstName": {
                    "type": "string"
                },
                "lastName": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                }
            }
        },
        "auth.UpdateAccountRequest": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "firstName": {
                    "type": "string"
                },
                "lastName": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                }
            }
        },
        "ent.User": {
            "type": "object",
            "properties": {
                "email": {
                    "description": "Email holds the value of the \"email\" field.",
                    "type": "string"
                },
                "firstName": {
                    "description": "FirstName holds the value of the \"firstName\" field.",
                    "type": "string"
                },
                "id": {
                    "description": "ID of the ent.",
                    "type": "integer"
                },
                "lastName": {
                    "description": "LastName holds the value of the \"lastName\" field.",
                    "type": "string"
                }
            }
        },
        "httputils.EmptyResponse": {
            "type": "object"
        },
        "repository.AddRegionRequest": {
            "type": "object",
            "properties": {
                "latitude1": {
                    "type": "string",
                    "example": "0"
                },
                "latitude2": {
                    "type": "string",
                    "example": "0"
                },
                "longitude1": {
                    "type": "string",
                    "example": "0"
                },
                "longitude2": {
                    "type": "string",
                    "example": "0"
                },
                "name": {
                    "type": "string"
                },
                "osmData": {
                    "$ref": "#/definitions/repository.OsmData"
                },
                "parentRegion": {
                    "type": "string"
                },
                "regionType": {
                    "type": "integer"
                }
            }
        },
        "repository.AddRegionTypeRequest": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                }
            }
        },
        "repository.AddWeatherRequest": {
            "type": "object",
            "properties": {
                "humidity": {
                    "type": "string",
                    "example": "0"
                },
                "measurementDateTime": {
                    "type": "string"
                },
                "precipitationAmount": {
                    "type": "string",
                    "example": "0"
                },
                "regionId": {
                    "type": "integer"
                },
                "temperature": {
                    "type": "string",
                    "example": "0"
                },
                "weatherCondition": {
                    "type": "string"
                },
                "weatherForecast": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "windSpeed": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "repository.Forecast": {
            "type": "object",
            "properties": {
                "dateTime": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "precipitationAmount": {
                    "type": "string",
                    "example": "0"
                },
                "regionId": {
                    "type": "integer"
                },
                "temperature": {
                    "type": "string",
                    "example": "0"
                },
                "weatherCondition": {
                    "type": "string"
                },
                "windSpeed": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "repository.ForecastAddRequest": {
            "type": "object",
            "properties": {
                "dateTime": {
                    "type": "string"
                },
                "precipitationAmount": {
                    "type": "string",
                    "example": "0"
                },
                "regionId": {
                    "type": "integer"
                },
                "temperature": {
                    "type": "string",
                    "example": "0"
                },
                "weatherCondition": {
                    "type": "string"
                },
                "windSpeed": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "repository.ForecastUpdateRequest": {
            "type": "object",
            "properties": {
                "dateTime": {
                    "type": "string"
                },
                "precipitationAmount": {
                    "type": "string",
                    "example": "0"
                },
                "temperature": {
                    "type": "string",
                    "example": "0"
                },
                "weatherCondition": {
                    "type": "string"
                },
                "windSpeed": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "repository.OsmData": {
            "type": "object",
            "properties": {
                "boundingBox": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "includePOI": {},
                "mapLink": {
                    "type": "string"
                },
                "pointsOfInterest": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/schema.OsmPointsOfInterest"
                    }
                }
            }
        },
        "repository.Region": {
            "type": "object",
            "properties": {
                "accountId": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "latitude1": {
                    "type": "string",
                    "example": "0"
                },
                "latitude2": {
                    "type": "string",
                    "example": "0"
                },
                "longitude1": {
                    "type": "string",
                    "example": "0"
                },
                "longitude2": {
                    "type": "string",
                    "example": "0"
                },
                "name": {
                    "type": "string"
                },
                "osmData": {
                    "$ref": "#/definitions/repository.OsmData"
                },
                "parentRegion": {
                    "type": "string"
                },
                "regionType": {
                    "type": "integer"
                }
            }
        },
        "repository.RegionType": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "repository.UpdateRegionRequest": {
            "type": "object",
            "properties": {
                "latitude1": {
                    "type": "string",
                    "example": "0"
                },
                "latitude2": {
                    "type": "string",
                    "example": "0"
                },
                "longitude1": {
                    "type": "string",
                    "example": "0"
                },
                "longitude2": {
                    "type": "string",
                    "example": "0"
                },
                "name": {
                    "type": "string"
                },
                "osmData": {
                    "$ref": "#/definitions/repository.OsmData"
                },
                "parentRegion": {
                    "type": "string"
                },
                "regionType": {
                    "type": "integer"
                }
            }
        },
        "repository.UpdateRegionTypeRequest": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                }
            }
        },
        "repository.UpdateWeatherRequest": {
            "type": "object",
            "properties": {
                "humidity": {
                    "type": "string",
                    "example": "0"
                },
                "measurementDateTime": {
                    "type": "string"
                },
                "precipitationAmount": {
                    "type": "string",
                    "example": "0"
                },
                "regionName": {
                    "type": "string"
                },
                "temperature": {
                    "type": "string",
                    "example": "0"
                },
                "weatherCondition": {
                    "type": "string"
                },
                "weatherForecast": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "windSpeed": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "repository.Weather": {
            "type": "object",
            "properties": {
                "humidity": {
                    "type": "string",
                    "example": "0"
                },
                "id": {
                    "type": "integer"
                },
                "measurementDateTime": {
                    "type": "string"
                },
                "precipitationAmount": {
                    "type": "string",
                    "example": "0"
                },
                "regionName": {
                    "type": "string"
                },
                "temperature": {
                    "type": "string",
                    "example": "0"
                },
                "weatherCondition": {
                    "type": "string"
                },
                "weatherForecast": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/repository.Forecast"
                    }
                },
                "windSpeed": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "repository.WeatherSearchResult": {
            "type": "object",
            "properties": {
                "humidity": {
                    "type": "string",
                    "example": "0"
                },
                "id": {
                    "type": "integer"
                },
                "measurementDateTime": {
                    "type": "string"
                },
                "precipitationAmount": {
                    "type": "string",
                    "example": "0"
                },
                "regionName": {
                    "type": "string"
                },
                "temperature": {
                    "type": "string",
                    "example": "0"
                },
                "weatherCondition": {
                    "type": "string"
                },
                "weatherForecast": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "windSpeed": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "schema.OsmPointsOfInterest": {
            "type": "object",
            "properties": {
                "latitude": {
                    "type": "string",
                    "example": "0"
                },
                "longitude": {
                    "type": "string",
                    "example": "0"
                },
                "name": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        }
    },
    "externalDocs": {
        "description": "OpenAPI",
        "url": "https://swagger.io/resources/open-api/"
    }
}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "1.0",
	Host:             "localhost:8088",
	BasePath:         "/",
	Schemes:          []string{},
	Title:            "Swagger API",
	Description:      "The Weather server API",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
	LeftDelim:        "{{",
	RightDelim:       "}}",
}

func init() {
	swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}
